Activating Your Software Online Fully-Automatically with CheckPoint

Developing Applications Using The SoftwareShield System > Creating Licensing Solutions > Available Activation Methods > Activating Your Software Online Fully-Automatically with CheckPoint

## Activating Your Software Online Fully-Automatically with CheckPoint

Activating your software online fully-automatically is achieved by using the ClientProtector in your application to connect to and communicate with the CheckPoint License Server. While no human intervention is required, an internet connection is.

You can only perform fully-automated activation when using the CheckPoint License Server which comes with the Server Edition of the SoftwareShield System DRM Kit.

### Serial Number Code Exchange

During this communication a Serial Number code exchange will be performed. A Serial Number code exchange involves:

1. The client entering through your UI a Serial Number you provided them as a result of a purchase. These Serial Numbers could have been pre-generated or dynamically generated as a result of a sale. (See: Generate Serial Numbers).

2. The ClientProtector dynamically generating an Authorization Request Code for the users machine and license. (See: Authorization Request Codes).

3. Both of these (Serial Number and Authorization Request Code) being transmitted over a HTTP SOAP web-service call to the CheckPoint license server. The CheckPoint License Server after successfully validating both, will generate an Activation Code in response.

Thus - the exchange of these three prices of information (two from the client and one back from the CheckPoint License Server) forms a "Serial Number code exchange". The ClientProtector manages everything on the client side and the CheckPoint License Server manages everything on the server-side.

Once the Activation Code is successfully validated by the ClientProtector, the license state is updated and this information is reported back to your application.

### Proxy Servers

Note that the ClientProtector is capable of dealing with proxy servers as well as basic authenticating proxy servers . All that you need to do is manipulate the proxy server information in the license at run time using GetProxyServerInfo and SetProxyServerInfo. To facilitate this for your users, you can also provide perform proxy server test functionality using the function: QuickTestCheckPointConnection.